package com.zsc.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 菜品及套餐分类
 *
 * @TableName category
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("category")
public class Category implements Serializable {

    /**
     * 主键
     */
    @NotNull(message = "[主键]不能为空")
    @ApiModelProperty("主键")
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 类型   1 菜品分类 2 套餐分类
     */
    @ApiModelProperty("类型   1 菜品分类 2 套餐分类")
    private Integer type;
    /**
     * 分类名称
     */
    @NotBlank(message = "[分类名称]不能为空")
    @Size(max = 32, message = "编码长度不能超过32")
    @ApiModelProperty("分类名称")
    private String name;
    /**
     * 顺序
     */
    @NotNull(message = "[顺序]不能为空")
    @ApiModelProperty("顺序")
    private Integer sort;
    /**
     * 分类状态 0:禁用，1:启用
     */
    @ApiModelProperty("分类状态 0:禁用，1:启用")
    @TableField(fill = FieldFill.INSERT)
    private Integer status;
    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    @TableField(fill = FieldFill.UPDATE)
    private LocalDateTime updateTime;
}
